Continuous Batching
一种动态批处理技术,允许不同长度的推理请求实时拼批进入 GPU,吞吐量较静态批处理提升 10-20×。
定义
传统静态批处理(Static Batching)需要等待批内所有请求完成才能进入下一批,导致 GPU 长时间空闲。Continuous Batching 在每一步生成 token 后动态调整批组成(短请求完成立即退出,新请求随时加入)。
解决的核心问题
LLM 推理中,请求生成长度差异巨大(短的几十 token,长的几千 token):
- 静态批处理时长被最长请求决定 → 短请求"陪跑" GPU 浪费
- 不同请求 prefill / decode 阶段算力需求差异大
- 实际生产负载是高频小请求 + 偶发长请求混合
Continuous Batching 实现:
- 按 step(生成 1 个 token)粒度调度
- 每 step 结束后,已完成请求立即返回,等待中的新请求立即加入
- GPU 利用率从 30% 提升至 80%+
主要玩家
- vLLM(首先在工业级开源引擎中实现)
- NVIDIA TensorRT-LLM 称为 In-Flight Batching
- Hugging Face TGI(Text Generation Inference)
- 硅基流动 自研引擎
在 AI 产业链中的角色
- 推理成本下降的核心技术驱动力:与 PagedAttention 共同支撑 LLM 推理吞吐量 10-20× 提升
- 推理引擎事实标配:所有主流 LLM 推理引擎都实现了 Continuous Batching
- MaaS 商业模式的基石:让按 token 计费的推理服务有了可行的单位经济性
相关概念
∈ belongs_to::4-04-模型部署与优化